The present disclosure relates generally to the programming of motion control and, more particularly, to programming motion control by specifying desired load motions. Load transportation systems such as those used in warehouses, package distribution plants, assembly plants, and manufacturing plants are often utilized to move loads from one location to another. These loads are often moved using load motion actuators such as conveyor belts, rollers, robotic arms, or pin-hole air jets. Current load transportation systems typically must be programmed to cause a load to undertake a desired behavior.
Referring to the load transportation system 100 in FIG. 1a, for example, a load 102 may be moveable by load actuators 104a-b. As shown in FIG. 1a, the load actuators 104a-b may include a left conveyor belt 104a and a right conveyor belt 104b. If the load 102 must be rotated (e.g., as indicated by the rotational arrow 106), the speeds and directions (e.g., represented by the motion vectors 108a-b) of the conveyor belts 104a-b must typically be directly specified. For example, the left conveyor belt 104a may be programmed to move in accordance with a reverse motion vector 108a, while the right conveyor belt 104b may be programmed to move in accordance with a forward motion vector 108b. The speeds of the conveyor belts 104a-b may be specified, for example, to control the rate at which the load 102 is rotated. Similarly, the timing of actuator commands may need to be specified in order to cause the load 102 to undergo a desired behavior or set of behaviors (e.g., rotate ninety degrees, then stop). The system programmer must therefore determine and code each speed, direction, and all timing information for each actuator 104a-b needed to rotate the load 102.
Similarly, with reference to the system 150 of FIG. 1b, load A 152a and load B 152b may be moveable by an actuator 154a that moves all loads rigidly, as well as actuators 154b-c which move only loads that sit on top of the them. The system 150 may be, for example, a crossbelt conveyor system. If loads A 152a and B 152b must be moved from first locations (locations A and B, respectively) to second locations (locations A′ and B′, respectively), a programmer would have to specify the speeds and directions of the actuators 154a-c, including the times at which each of the specified motion vectors must be initiated and/or stopped.
These speed, direction, and timing decisions require the programmer to be highly skilled in selecting settings for all of the various actuators in a given load transportation system, and require many programming hours to configure the system to properly transport a given load. Where multiple loads are transported by the same system, the required speeds, directions, and timing of the actuators become increasingly complex for the programmer to determine, and require substantially more programming hours to configure.
Accordingly, there is a need for systems and methods for programming motion control that address these and other problems found in existing technologies.